import java.util.Arrays;
import java.util.Scanner;

public class Main {
    /*拆弹步骤；你的情报员会给你一个长度为 n 的 循环 数组 code 以及一个密钥 k 。
    为了获得正确的密码，你需要替换掉每一个数字。所有数字会 同时 被替换。
    如果 k > 0 ，将第 i 个数字用 接下来 k 个数字之和替换。
    如果 k < 0 ，将第 i 个数字用 之前 k 个数字之和替换。
    如果 k == 0 ，将第 i 个数字用 0 替换。
    由于 code 是循环的， code[n-1] 下一个元素是 code[0] ，且 code[0] 前一个元素是 code[n-1] 。
    给你 循环 数组 code 和整数密钥 k ，请你返回解密后的结果来拆除炸弹！*/
    public static int[] checknumber(int[]code,int k) {
        int n=code.length;
        int[]result=new int[n];
        for(int i=0;i<n;i++){
            int sum=0;//记录每个数对应窗口的结果
            if(k>0){
                for(int j=1;j<=k;j++)
                    sum+=code[(i+j)%n];//前k个数之和，即为该数为窗口开始大前一个数，后面累加即可
            }
            else {
                int m=-k;
                for(int j=1;j<=m;j++)
                    sum+=code[(i-j+n)%n];//k<0，方向相反，即该数是窗口结束后的第一个数，需要累加前面至末位的数
            }
            result[i]=sum;
        }
        return result;
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt();
        int[] code=new int[n];
        for(int i=0;i<n;i++){
            code[i]=sc.nextInt();
        }
        int k=sc.nextInt();
        int[]nums=checknumber(code,k);
        System.out.println(Arrays.toString(nums));
    }
}